package cn.hx.util;
 
import cn.hx.entity.UserInfo;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
 
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.websocket.Session;
 
public class LoginInterceptor implements HandlerInterceptor {
 
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        HttpSession session = request.getSession();
        UserInfo reglister =(UserInfo) session.getAttribute("userInfo");

        System.out.println(reglister);


        if (reglister != null&&reglister.getRole()!=null) {
            if (reglister.getRole().getId()==1) {
                return true;
            }

            if (reglister.getRole().getId()==2&&!request.getRequestURL().toString().contains("system")) {
                return true;
            }
        } else {

            request.setAttribute("msg", "请先登录!");
 
            request.getRequestDispatcher("/").forward(request,response);
            return false;
        }
        return false;
    }
 
    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
        HandlerInterceptor.super.postHandle(request, response, handler, modelAndView);
    }
 
    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
        HandlerInterceptor.super.afterCompletion(request, response, handler, ex);
    }
}